I think your way is correct, the model value updates correctly but the HTML value
attributes are not the same value. Weird behaviour, but it looks like it's wanted.
ng-options="select.Value as select.Name for select in tagSelect"
http://jsfiddle.net/nicolasmoise/Y8C5A/
Notice how the ng-model is updated with correct value.