I'm going to try to tackle this as a learning assignment for myself.
Edit 1: Well after playing with this for the last couple hours - i've come to the realization - I suck at PHP lol
But from what I can tell, perhaps someone who is better with vb will chime in, there is no easy way to do this. You need to pull the forums (keeping in mind you use forum permissions - I don't want members seeing my hidden staff forum link).
So I had to make a new function. Add two new templates. A couple plugins and I came up with this on my site.
Now some issues with it (ie - bugs). Doesn't show subforums - I could add this but this would be even more work. Only shows default two level forums.
Category1
|--Forum1
|--Forum2
Category2
|--Forum1
|--Forum2
Etc etc... Also right now it only works on the index page - but that's because I have the plugin including on the index page -would need to make it global - I havn't checked the amount of queries but i'm going to do that - but to run that query on every page load might be a little high.
Edit 2: Adding 2 queries per page load. hmmm.... I'm going to say you don't want to do this unless there is another way.
Edit 3:This is for a Dynamic list - if a user sees the forum on forumhome they'll see it in the menu - to do this with no queries you could make a simple dropdown and use if statements for usergroupids and hardcode the links to each forum. That wouldn't be hard at all - just has a maintenance