You could create a custom database field that's ; delimited and then use that for Genre instead. Use the Move\Copy fields utility to copy all of your existing genres over, and then just use your new one from now on.
Incidentally, that's what I do. I use Genre as it's intended, but I break Genres out into "regular music" (no genre) and "genre music". "Regular music" is anything that you might hear on the radio. Examples of "genre music" include: Brazilian, Funk, Trance/Dance/Techno. Basically, regular "songs" go in "no genre/regular music" and everything else gets a genre.
Then, I use Custom 1 for a sort of pseudo-genre descriptor. I put descriptive strings in, separated by spaces. So a single file might have Custom 1 = "Soft 1990s Jukebox". I then create smartlists with the rule:
[custom 1]="1990s"
[custom 1]="Soft"
etc....
I find it easier to add/remove songs from these pseudo-genre smart-lists by tagging the files than by manually adding/removing the files to/from a playlist.
Examples of my pseudo-genre tags include:
Soft
Hard
Dark
Women
1970s
1980s
1990s
2000s
You might wonder why I don't just use "year" for my "decade" lists. Those lists are intended to represent songs that were on the radio during those decades, not necessarily all songs that I have from those decades.