Is there any way to filter materials at runtime?

I’m currently looking for a good way to filter a set of materials. I thought there are tags available, but unfortunately thats not the case. Tags only exist for Actors or Components. The relatively new GameplayTags only work by creating a variable that is of GameplayTag_X type, which is not possible for a material.

The user can choose materials at runtime to use when creating new objects. We want to support modding and people should be able to create their own materials. Their can be quite a bunch of materials to use, thus it would be nice to filter them.

Workarounds would be to add a tag at the end of the material name like M_Tree_Nature or add a float paramter to the material and name it ‘Tag’, the value would then match up with a predefined table of tags. Both methodes I would declare as unusable.
Another Workaround would be to have the material in a folder which is the tag name.
All three methodes also would only support a single tag. Would be nice to support multiple tags.

Any idea on how to filter materials at runtime?