Help on building an opinionated framework based on Terraform

Hello everyone. First, I have very basic knowledge of Terraform. I am part of the DevOps team responsible for building an opinionated framework based on Terraform. We would like to store input data in something like product manifest files and have Terraform pick it up from there and pass it onto Terraform modules as variables and/or parameters. These manifest files could be YAML files with a loose schema which depends on the input data we need to provide for a given product. For example: product name, email address of the product development team, some ID, etc.
I would like to know the best practices around building such framework and what we could leverage out-of-the-box in terms of existing Terraform features. I came across Terragrunt and while it solves another problem that we expect to run into, it doesn’t seem to be the answer for our input mechanism.