Normally when deciding which marker to display one might use
"switch/case". In this case when you are finding which markers to
show, you need to see whether the category attribute *contains* the
required string, rather than whether it *equals* the required string.
For that, use indexOf: for example, category.indexOf("Swimmingpool")
must be greater than -1 (Not greater than zero, because strings start
counting characters from zero). Of course, this will also find
matching categories where there is only value, eg Joe Swimming.
http://www.w3schools.com/jsref/jsref_indexof.asp
This should be a fairly straightforward extension of an XML example.
Not a maps question though.