My idea with the data driven testing for this case is that you can create a new excel file, for example, with all the necessary values (states) in one column. You can add it as a data source and use it to loop the "Select" step through all the values, by binding it. I would add all actions that need to be looped for each value in a separate test and use it with the Test as Step
feature, as shown in the sample project.
You can use a coded step
in your test to loop through the values, as you mentioned. Both options are possible for this scenario and I do not see any problems with them.
I am available to continue our discussion, if you need further assistance.