<select>
очень сложно поддаётся кастомизации и того что вы описали "из коробки" нету. Нету некого сворачивания/разворачивания части элементов списка.
В теории можно сделать это на JS путём манипуляции со списком
<option>
при клике.
Но любое такое решение ничем не лучше использования кастомной обёртки которая эмулирует вид select через ul/div
upd. решение задачи с использованием select и optgroup
https://stackoverflow.com/a/52157352/2145125
а так же jquery + select2.js и немного js кода
select 2 js в любом случае кастомизирует select и подменяет его u>li списком.