это делается типа в 5 строк. просто когда нажимается хедер, вы должны посмотреть сколько там ячеек будет в секции, построить по этому количеству IndexPath всех ее ячеек и вместо reloadSection сделать tableView.insert этих ячеек. ничего в методах делегата и датасорца менять не нужно