For this problem ruby provides us with the index method, that returns the index/id of an element in the array. So we can still use the strings (or maybe even symbols) for the mapping, but do not have the storage overhead.
As for the JobStatus, I don't think we would loose readability. Mostly we use the JobOffers helper methods pending?/open?/.. anyway that can easily be changed to use a constant variable instead of a database query. And wherever the JobStatus is still used for comparison we should switch to the JobOffers helper methods anyway. The only thing where it could get a little more complicated would be setting the JobStatus, but with a simple setter method that takes the string/symbol and also uses the index method, this can be done as easily as before.