Persist relation to a class (and not a class instance) in Ruby on Rails with Mongoid
It works that's for sure. 

But enums could just as easily be defined in the database. Now that you've already got it working with enums, I would say stick with enums untill you have a good reason to change it.

anyways, here's how i probably would have done it: 

e.g.


user has_many subscription_plans
subscription_plan can belong to many users.
Limit the ability for a user to have a max of two, one of each type. Or the user must have two at any one time etc.




You get the picture. You can change the subscription plan table to suit your needs.

Hope this helps.