Eliminate enum, fix some OCP violations.

1) These methods require nontrivial change whenever a small change is
made, for example adding a category.

2) I have redesigned the methods by removing coupling to the
enumeration, and in fact entirely converted the enumeration to classes
to rework the value-type duality

3) The redesign completed here has expanded the scope of the OCP to
ConfidentialPhraseCategory, as long as category groups are not added or
eliminated.