If values exist, they should be sent over to workflow. However, Values cannot start with integers, so when this form is saved/refreshed, those will update to V_1, V_2... and be sent over as strings. You could try to do a string compare anyway where V_1 > V_2 > V_3... because they should be evaluated alphabetically, but you'd run into trouble after v_9 because in string compare V_1 > V_10 > V_2.
The use case behind values is to give process designers a way to easily reference long, descriptive choice options in their process. A form designer may want to show a longer, nicer message to the user in their radio buttons
"Yes - please add me to the email list" vs "No - I would not like to be added at this time"
but that would be tedious to carry around in the process like in gateway comparisons. It also would have to be updated in the process if you wanted to modify the message to the user.
Values allow you to put effectively a variable behind each choice, so you can easily reference them throughout the process while still being able to change the friendly display value to the user.
6.4.1