use NS_ENUM for compiler hints & swift compat