To Be honest this is not really something that is limited by EE - you can use any number of methods to store the information you want from standard channels, to structure, to Taxonomy, Nav-EEm etc. All of these will store and output as custom menus how ever you see fit. The real issue your asking about here is how to template it, what HTML, CSS, JS to use, and general concepts which i get.
In my shoes, i personally would look at doing this with Taxonomy (as structure and me don’t get on - all my fault), although Nav-ee would be more than suitable too.
With Taxonomy i would consider using the custom fields in the menu system. You could use these to store different types of information in your menu, be that small html chunks, or divide line, or column break. Then on the output i would use a custom output tags (not default nested lists) and use number of queries to check the level i am on, what the outputted element is and output HTML to make it work… That is if you want it automated and client usable!!
If not, what about using a standard EE channel, with matrix and a WYGWAM field inside it for each drop down item?