Ok so here goes.
I have made a form and connected it to my SPList with a choice column in it.
The SPList Name is MasterSubAreas
The Column containing my Choices is ItemList
Column with Main name is ItemName.
For the ItemList data card I have unlocked it and added 4 checkboxes,
CheckBoxA
Text Value of "Very Good"
CheckBoxB
Text Value of "Satisfactory"
CheckBoxC
Text Value of "Poor"
CheckBoxD
Text Value of "Very Poor"
Their OnCheck has the value of
Concurrent(
Reset(
CheckboxB),
Reset(
CheckboxC),
Reset(
CheckboxD));
Set(mychoiceVar,Self.Text)
(With each box being slightly different in the Reset Portion - One resets abc, one abd, one bcd, etc so that it resets anything that is not itself)
That code above will set the variable to the text of the Checkboxes (Very Good, Satisfacotry... etc) You can change Set() portion to the following to make it 1,2,3 or 4.
Switch(
Self.Text,
"Very Good", Set(mychoiceVar,4),
"Satisfactory", Set(mychoiceVar,3),
"Poor", Set(mychoiceVar,2),
"Very Poor", Set(mychoiceVar,1))
Now you will keep the actual drop down provided by initial auto creation of form, but hide it, and set its default selected items value to
[mychoiceVar]
Button that opens the form should have an onselect of
Set(mychoiceVar,Blank());
ResetForm(Form5);
NewForm(Form5)
then ofcourse the submit should read
SubmitForm(Form5)
Here are two images showing when checkbox selection changes, so does the info in the dropdown (which is what the form submits)

