Managing Multiple Models Based on Macros in dbt

I’m working on a project with about 10 macros representing different data marts, each used by various states (different macro input).
I’m looking for recommendation on how to structure my dbt project to avoid creating an excessive number of files (states * macros).

Is using schema.yml to dynamically generate models based on macros a good practice?
Any other suggestions for handling this scenario efficiently?

Thanks for your insights!