This is very tricky. Swamp tiles are hardcoded so no luck there. You can create new forest types but the problem is that pnce a tile goes into the category forest, its tile will get overwritten by the foresttype defined in coreenvironments.xml.
Rivers are also hardcoded.
This leaves the option of creating stamps on which you can manually place coametic tiles but I don't know if that fits what you want to do.