Где хранить?
1. Если вам нужно менять название статусов через пользовательский интерфейс и постоянно добавлять/удалять/редактировать, то статусы должны храниться в базе данных в отдельной таблице с настроенными ключами.
2. Если статусы меняются редко, то вы в вправе их реализовать на уровне кода (в классе константами или другим способом).
Как хранить: строка или число?
1. Если вы гонитесь за каждой миллисекундой в запросах, то используете число.
2. Если вы хотите работать с базой данных на более понятном человеку языке, то используйте строчное состояние статусов (new, reject, closed, cancel, active...). Работать с такими данными куда проще, чем запоминать что значит 1, а что значит 2 и т.д.