fixed an unexpected type error for enum parameters; fixed calling update_value() twice

sorry for not checking the problem with the last pull request earlier, things have been a bit busy ...  
apparently, when the currentIndexChanged signal is emitted, current index internally is still the old value, why the setCurrentIndex() call in update_value() triggers another selected() call ... couldn't fin a better solution than quickly disconnecting / connecting. 
If that doesn't suit, I'd ask to remove at least line 288. This gives the user the impression that he is able to change the parameter, but under the hood, nothing is happening silently