You could have a look at acts_as_tree to build up a hierarchy of options using a single model
So you could have first options: A and B
and as children of A have: C and D
and as children of B have: E and F
You can scale this to as many levels as you like.