As you have discovered, altering the values defined for a value list does not change the data stored in any field formatted with that value list. And checkboxes and radio buttons will hide any data in the field that does not match one of the displayed values.
You will need to set up a system that changes the values in the field before you make a change to the values in the value list.
If you want to change a check box value from "Apple" to "Macintosh". You can enter find mode and select "Apple", then perform the find to find all records where this field contains the value "apple".
You can then use replace field contents to replace the value "Apple" with the value "Macintosh" before finally updating your value list to use Macintosh in place of Apple.
Here's a calculation you can adapt to use with Replace FIeld Contents to replace the value "Apple" with the value "Macintosh":
Let ( [ TheList = Substitute ( ¶ & YourTable::YourCheckboxFIeld & ¶ ; ¶ & "Apple" & ¶ ; ¶ ) ; // Remove "Apple" value
NewList = Middle ( TheList ; 2 ; Length ( TheList ) - 2 ) // Remove extra returns
List ( NewList ; "Macintosh" ) // Add "Macintosh" value
Replace field contents can be performed manually or in a script.
Thanks very much! That solverd the situation.