diff --git a/promptly/inputs.py b/promptly/inputs.py
index <HASH>..<HASH> 100644
--- a/promptly/inputs.py
+++ b/promptly/inputs.py
@@ -120,11 +120,11 @@ class ChoiceInput(BaseInput):
         return prompt
 
     def process_data(self, data):
-        try:
-            self.value = int(data)
-        except ValueError:
-            self.value = None
-            raise
+
+        if not [x for x in choices if str(x[0]) == data]:
+            raise ValueError
+
+        self.value = data
 
 
 
diff --git a/tests/test_promptly.py b/tests/test_promptly.py
index <HASH>..<HASH> 100644
--- a/tests/test_promptly.py
+++ b/tests/test_promptly.py
@@ -28,6 +28,7 @@ class TestPromptly(unittest.TestCase):
 
         form.prompt()
         values = form.values()
+
         for v in values:
             print(v)
fixed issue with BooleanInput