use NS_ENUM and NS_OPTIONS