I think these should be separate taxonomies. Category is actually a taxonomy in its own right.
You would create a taxonomy for each of the filters/drop-downs. This may seem like overkill but i think it will make it easier to work on additional features down the road.
Add the following method to your functions.php. Replace 'rwc' with your theme's domain:
function add_taxonomy($singular, $plural, $objects) {
$labels = array(
'name' => _x( $plural, 'General Name', 'rwc' ),
'singular_name' => _x( $singular, 'Singular Name', 'rwc' ),
'menu_name' => __( $plural, 'rwc' ),
'parent_item_colon' => __( 'Parent '.$singular.':', 'rwc' ),
'all_items' => __( 'All '.$plural, 'rwc' ),
'view_item' => __( 'View '.$singular, 'rwc' ),
'add_new_item' => __( 'Add New '.$singular, 'rwc' ),
'add_new' => __( 'Add New '.$singular, 'rwc' ),
'edit_item' => __( 'Edit '.$singular, 'rwc' ),
'update_item' => __( 'Update '.$singular, 'rwc' ),
'search_items' => __( 'Search '.$plural, 'rwc' ),
'not_found' => __( $singular.' Not found', 'rwc' ),
'not_found_in_trash' => __( $singular.' Not found in Trash', 'rwc' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => strtolower($singular))
);
register_taxonomy(strtolower($singular), $objects, $args);
}
Then use it to add taxonomies. Replace 'post' with 'page' if you are looking to filter pages
function add_custom_taxonomies() {
$objects = array('post');
add_taxonomy('Gender', 'Genders', $objects);
add_taxonomy('Level', 'Levels', $objects);
// .. and so on
}
add_action( 'init', 'add_custom_taxonomies', 0 );