Ideally, multi-option content types would generally go to a different instance of a handler for each type (that marries with a completely typesafe world - unless you did dynamic deserialisation based on the CT to give you the same object), then fall back to a 406 not-acceptable.
TBH there is nothing in http4k built out of the box for accepting multiple content type bodies: Each of the Body lenses will do optional content negotiation for a single type. You could write a simple Filter that switched the handler based on the input type (or did custom deserialisation).