It depends a little on the dynamics. Will a non-primary class ever become primary, or vice versa?
Irrespective of that, I'd probably choose either the two unaries and a subset constraint (maps to a CHECK constraint) or a three-valued value type {'inactive', 'active', 'active primary'}.
Just be aware that with unary fact types in NORMA, you don't currently have control over whether you mean closed world (true/false), open world (true/unknown) or open world with negation (true/false/unknown). NORMA's interpretation is OW, which to my mind, is the least useful of the three possibilities.
In my view, this is a weakness in the ORM2 graphical representation.