Basically what I am attempting to achieve in Wordpress 3.1.x while using wp_nav_menu function, is to possess a menu for example:

-- Category 1
-- Category 2
-- Category 3
-- Category 4
-- Category 5
-- Category 6

However when you are on 'Category 2' it shows as:

-- Category 1
-- Category 2
  -- Sub Category 1
  -- Sub Category 2
  -- Sub Category 3
-- Category 3
-- Category 4
-- Category 5
-- Category 6

PS. I am not searching for CSS hide/show functionality, that may be accomplished easily.

PPS. Is a potential solution with this stretching the Walker_Nav_Menu class?

Should you subclass the Walker_Nav_Menu class you are able to override the display_element function and conditionally remove an item's children before they're looped through.

if (!$element->current && !$element->current_item_ancestor && isset( $children_elements[$id])) {
   unset( $children_elements[ $id ] );
}

This could take away the kids of anything that's not current, so you should look into the item's type if you want to do that for groups. The entire master would look something similar to this: https://gist.github.com/954627