I think we should stay close to the mainline scala client error types:

so maybe:

LeaderNotAvailableError
UnknownTopicOrPartitionError
BrokerNotAvailableError


looking at exception classes in
https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/common/

and error codes in
https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/common/ErrorMapping.scala