Seems you need some custom JS because of the current design... inputText now is a simple text field and it isn't controlled by the suggestion component.. So any value can be entered there in common case.
I haven't tried it.
But i would use Hibernate Validator.
Write a new Validator which restricts the field to your list. And make seggested list common to both the validator and the suggestion box.
Do not define this list twice.
This would be a nice experience for writing custom hibernate validators(Should be easy)
But why are you not using h:selectOneMenu??
I don't want to use the selectOneMenu,
because the list of possible value is long (about 1000)...
if you have written a Hibernate Validator for your use case , it would be nice to share the code with us. Thanks.