If you expose as a filter a vocabulary which is marked as tagged, the users will be presented with an auto-complete box which allows them to enter the terms they want separated by commas. The problem with this is that there is no good way for the users to know what the possible terms are, or even the domains of the terms.

If you are working with a small site where you control the vocabulary very closely, and don't expect to have a lot terms, you can replace this auto-complete field with a pop-up menu, such as would be used for a regular vocabulary.

(Note that this also affects the way you select the filter values for the filter in the 'Filters' section of the view admin ui, not just the view presented to users.)

You will need to create a new custom module to use this code. Create a new direcctory for your module (e.g. example) and put the code below into a new module, e.g. example.module. You also need to create a .info file, e.g. example.info, following these guidelines and put it in your new module's directory with the .module file.

You will also need to know the vid of the vocabulary you want to make into a select list.

In your helper module, use the following:

/**
 * This module is a small helper module to fix an issue with a view.
 *
 * By default, a "tagging" vocabulary is exposed by the views module
 * as a textfield, where users have to type in their keywords.  This
 * doesn't work for our keywords list, where users don't know
 * what the possible options are.  This module makes use of the 
 * views.module 'views_tables_alter' hook to change the widget
 * for the vocabulary id xxx to the standard taxonomy form for selection.
 *
 * It has no interface, or anything else...
 */

// use the name of your helper module name here...
function <helper_module_name>_views_tables_alter(&$data) {
  // we know that we are working with vocabulary vid = xxx
  $vocabulary = taxonomy_get_vocabulary(xxx);
  
  // these lines taken from modules/views/modules/views_taxonomy.inc
  // in the views_taxonomy_form function.
  $form = taxonomy_form($vocabulary->vid, 0, $vocabulary->help);
  unset($form['#title']);
  unset($form['#options'][0]);
  
  $data['term_node_<xxx>']['filters']['tid']['value'] = $form;

  // by default, tagging vocabularies do weird things to
  // the results.  We can turn this off, because we aren't
  // really having a tagged vocabulary here...
  $data['term_node_<xxx>']['filters']['tid']['tags'] = 0;
}