Sharaf needs a FromPathParam[T]
instance for the param[T]
extractor.
It can automatically derive an instance for singleton enums:
enum Cloud derives FromPathParam:
case aws, gcp, azure
val routes = Routes:
case GET() -> Path("pricing", param[Cloud](cloud)) =>
Response.withBody(s"cloud = ${cloud}")