Если есть полностью "отдельные" варианты, как в вашем случае:
1. not submited
2. submited
3. canceled
то лучше использовать enum. Если же состояния могут переключаться отдельно, например:
1. nothing
2. submited
3. checked
4. submited and checked
то нужно 2 boolean, в данном случае is_submited
и is_checked
.
В Вашем случае enum лучше int, но в крайнем случае int.