Просто сначала элемент должен быть скрыт. А потом появиться, но быть гридом, а не блоком. А .fadeIn его проявлет в block.
Я могу написать сам на js проявление элемента (исп-я transition для opacity), но раз я пользусб jq, охота чтобы он сам это сделал.
UPD пока вышел из положения вот так:
$('.categoryList').fadeIn('medium')
$('.categoryList').css('display', 'grid')