I believe you are looking for the IToolPalette interface.
"Tool palettes provide a compact way to group a related set of tools. The most recently used tool appears on the toolbar alongside a small drop-down button used to access other tools in the group. Like menus, tools that appear on tool palettes can come from built-in sources, add-in sources, or a combination of both."
"To create a tool palette, you need to implement the ICommand inteface and the IToolPalette interface in your class code."
I believe you are looking for the IToolPalette interface.
"Tool palettes provide a compact way to group a related set of tools. The most recently used tool appears on the toolbar alongside a small drop-down button used to access other tools in the group. Like menus, tools that appear on tool palettes can come from built-in sources, add-in sources, or a combination of both."
"To create a tool palette, you need to implement the ICommand inteface and the IToolPalette interface in your class code."
I feel quite interested in this topic. The suggestion above about UI SplitButton also sounds awesome! SplitButton is full of fun among all the UI buttons control in my point of view. Don't know if you had some clues to your question or not. I just feel interested in this but can't offer any practical ideas.