the benefit of using tinyint is that it saves space, but it also means that you need to use a join to a lookup table in order to display the meanings
neither the saved space nor the extra join processing will be measurable unless you're talking about millions of rows
another thing you want to do is enforce relational integrity, so that you cannot enter a value that isn't one of the accepted values -- but you could do this both with the tinyint or with the actual answer varchars
basically it's a wash, as far as i can see, so pick the scheme you like the best
