Thinking about this some more, this is not how it works. I ended up just having the FKs for all types in the Subscriptions class. Works just like I need.