Corona: Split out json enum handling into sharable trait.
Shadow: Make use of new JsonEnumTrait.