But the guts of rpm's machinery is not something I'm familiar with enough to comment much more than that.
One approach would be to recycle the Groups field and treat the slashes as keyword separators. Legacy packages would in effect have two keywords already defined. (I'd need to double-check that the Groups field in the header works this way, but I suspect it's just free-form text.)