Use OptionalSupport enum (but with a nasty hack in implementation)