If you look at the definition of
FindStrignExact[
^] it returns -1 when the string is not found - so this is probably expected behavior.
In this case, the problem is likely to be that the combo box has not loaded yet: you are setting the DataSource immediate before trying to search for the string so the likelyhood is that the ComboBox has not loaded the data: it doesn't do it immediately, but defers the load until it is needed.
Why search the combobox collection at all, when you could just access the collection returned by the Enum.GetValues directly instead?