Какой тип поля лучше: SET или CHAR(1)?
SET лучше, так как хранится числом, а сопоставление чисел к названиям отдельно. А CHAR это текст.
Поиск по числам быстрее, поэтому SET.
Если я правильно понял задачу, то CHAR(1) вам совсем не подойдет. 
В этом случае можно использовать VARCHAR(5), но несомненно SET лучше.