<p>Database? Page variables? Enum?</p>

<p>I'm looking for opinions here. </p>

IF the menu is dynamic
per-user
then you'll have to hit the database for each user.  From then on I would probably store it in session to avoid future round-trips to the database.
If it's dynamic, but the entire site sees the same items, then put it in the database and cache the results