How to bind path parameter as an enum?

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}")