optEnum

fun <TargetEnum : Enum<TargetEnum>?> optEnum(    jsonObject: JSONObject,     key: String,     targetEnumClass: Class<TargetEnum>,     defaultEnum: TargetEnum): TargetEnum
inline fun <TargetEnum : Enum<TargetEnum>> optEnum(jsonObject: JSONObject, key: String, defaultEnum: TargetEnum): TargetEnum
inline fun <TargetEnum : Enum<TargetEnum>> optEnum(jsonObject: JSONObject, key: String): TargetEnum?