enum

inline fun <T : Enum<T>> Header.enum(caseSensitive: Boolean = true): BiDiLensSpec<HttpMessage, T>
inline fun <IN : Any, T : Enum<T>> BiDiLensSpec<IN, String>.enum(): BiDiLensSpec<IN, T>
inline fun <IN : Any, T : Enum<T>> BiDiLensSpec<IN, String>.enum(noinline nextOut: (String) -> T, noinline nextIn: (T) -> String): BiDiLensSpec<IN, T>
inline fun <T : Enum<T>> Path.enum(caseSensitive: Boolean = true): BiDiPathLensSpec<T>
inline fun <T : Enum<T>> Path.enum(noinline nextOut: (String) -> T, noinline nextIn: (T) -> String): BiDiPathLensSpec<T>
inline fun <T : Enum<T>> Query.enum(caseSensitive: Boolean = true): BiDiLensSpec<Request, T>