Dynamically showing different field types based on meta-data

I am building a survey app that has a survey admin user that will create a survey with differing field types. This meta-data for the survey will be stored in a table for retrieval at the time a survey user is presented the survey form. I need a solution that will allow the ability to pull this meta-data and present the questions in the proper field type, i.e. checkbox, list, text, boolean, etc. I have some thoughts on how to do this, however would like to hear recommendations from this community to see if there is an elegant / efficient way to do this. Thanks in advance for any thoughts you can provide for this topic!