Что делать при ошибке в MySQL: «Указан слишком длинный ключ. Максимальная длина ключа составляет 1000 байт»?
Все дело в том что utf8mb4_unicode_ci использует 4 байта для кодирования одного символа, плюс 1 байт хранит длину строки. Соответственно (255+1)*4 = 1024.
Уменьшит размер данных можно, и даже нужно, с учетом что текущие данные не будут повреждены. Проверить максимальную длину строки: 
SELECT MAX(fieldname) FROM table;

Выбор размера данных зависит от их возможных значений. Например если поле может быть только "да", "нет" , "иногда" то достаточно  varchar(6)

Кроме того если строковое поле имеет ограниченный набор значений имеет смысл использовать enum или отдельную таблицу со словарем
увелич рамеры ключа.

в консоли 

SET GLOBAL innodb_large_prefix=on;