Когда у вас есть много значений, это обычно признак того, что ваш дизайн нуждается в повторной обработке.
Формируйте прерывистые классы case, которые затем объединяются в более крупные. Это также упрощает понимание кода, обоснование и поддержку кода. Как и в обход этой проблемы у вас есть.
Например, если бы я хотел хранить пользовательские данные, я мог бы это сделать ....
case class User(name: Name, email: String)
case class Name(first: String, last: String)
С таким количеством вещей, это, конечно, не было бы необходимо. Но если у вас есть 22 вещи, которые вы пытаетесь втиснуть в один класс, вы все равно захотите сделать такой класс прерывистого случая.