Extends flexibility of setting CategoryValue

CategoryValue can be set by assigning either one of the keys OR values for the code set.

CategoryType.is_valid_value filled in and utilized to ensure only valid categories are assigned.