enums toJSONValue/fromJSONValue need to be non-enumerable properties. and test to make sure