Make three menus with three category levels

wp_list_categories(); will by default give you a hierarchically nested list of all your categories. Hiding and showing that list, or parts of it, is just a matter of CSS. That sounds like what you need. For example

echo '<ul class="my-cats-list">',wp_list_categories(),'</ul>';

// style rules; put in your theme's style.css
.cat-item {
.children {
.cat-item:hover>.children {

That is very minimal but does work.