@mjrudolphi Ok, so point one, this is a very standard search setup but the data structure you outlined in your initial post was wrong. Not only was your Bank field NOT a simple text, it was also a list. And, on top of that, a list of Things that you wanted to be able to filter by multiple selections. Had you described it accurately the answer would have been very simple to give.
I enjoy helping people on this forum but it is frustrating to take personal time to answer someone’s question only to discover the question they asked was flawed.
Point two, custom states. It seems the answer given to every question on the forum anymore is custom states.
Are custom states useful? Absolutely, they are vital to a well designed app but why use a custom state when you don’t need to. For example, if you are filtering a search and want to push a button to apply the filters, sure, you can use custom states there. Though generally using a URL parameter for that scenario is better as it allows you to refresh the page and keep your search parameters intact.
But if you are wanting your search to update immediately without requiring a search button to be clicked, custom states are simply duplicate data that are adding extra workflows to your app.
So let’s look at your setup and see if we can simplify it. You have a multidropdown field that contains the exact items you are adding to your custom state. Only you are running a workflow on page load that is setting the list of things in your custom state because otherwise your search returns nothing.
On top of that, you have a couple of additional workflows that reset the data in the custom state on an input change.
How might that be setup differently? How could that be easier to maintain and cause less impact on performance?
Suppose we use a conditional on our Repeating Group to change the data source. Hmmmm…
See, as long as you have a constraint in your search on the Bank field your search will not return results unless the Bank filter contains data. However, if you DON’T have a constraint on the Bank field, the search will return results for every Bank option.
Suppose our main search on the Repeating Group just left out the Bank field. Like it doesn’t matter, we don’t care, we don’t want our results filtered by the Bank field in any way at all.
Then, on a conditional we can say, “Hey Bubble, if the multidropdown Bank filter’s value is not empty then change the data source to a search that contains a constraint on the Bank field.” Right?
Here’s a conditional I have in a live app that does exactly this:

So if there is an option selected in the multidropdownBank filter, our search will include the Bank field as a constraint and we will get results because the Bank filter has a selection made.
If the Bank filter is empty, our search will NOT include the Bank field as a constraint and still return results.
And doing this we eliminate the maintenance of a Custom State and at least three workflows.
Simple right?