Конкретно в этом кейсе юнион типы мб и сработали бы, но имхо, идеалогически, вы делаете костыль, говоря что класс имеет один способ инициализации через один тип
когда по факту он имеет их 15, но для удобства разраба (не клиента, прошу заметить) они объединены в один