Sorry for the delayed response.
The trouble with that kind of question is that there are many answers. Off the top of my head, I’d consider linking themes to one another. In fact, this allows arbitrary nesting: themes a, b, and c could all point to theme 1, which could point to theme α, etc.
You could also get into metadata for this, giving data or themes different metadata and then using e.g., dataview to query it.
So, a lot of this is up to you. I don’t know if there’s a “best” way!