Since the index in the array acts as an id it is just as simple to map as the model solution. A changing of the status is still done via a select in the student's form, so nothing changes for the user. However if one would like to add a new status, rename it, or delete one, it can be done simply by changing this constant, whereas in the model solution a database object needs to be created/changed/deleted on ALL systems. The change on the constant can be easily shipped with the code and does not need a reseeding of the database, which is at least in the current state not possible in a production system (because it deletes all existing objects). So I would rather suggest to refactor the job_status in the same manner.