recursive delete categories