We have a custom implementation in VE-MW settings for adding categories, but this should be genericised and improved. Phabricator's widget is a pretty good implementation to copy:
Phabricator's widget is a pretty good implementation to copy
Except for the part where it only shows you 5 possibilities, so if you want to browse the available options you're out of luck. When there's a known list of values I'd rather see something that displays the full (filtered) list in the popup instead of the top 5.