Here I realised I hadn't made provisions for dynamic enum properties that were optional.  Wrapped the body of the property setter in a conditional to handle the case where value is (rightfully) nil