Type safe enum (workaround SWIG not supporting enum class)
workaround SWIG not supporting enum class