Eu diria que depende do tipo de banco de dados que você irá usar. Se tiver algum tipo que represente isso de forma estrita é bacana de usar para manter consistência no BD. No MySQL por exemplo eu sei que existe o tipo ENUM que você poderia utilizar:
ENUM('waiting','in_queue','error','closed','success')
O ponto negativo de usar em inteiro é que se isso não for bem documentado (não somente no momento da criação, mas posteriormente, caso seja adicionado algum novo status) pode acabar se tornando um magic number.