If the tokens can only be sent to a whitelist of healthy food providers, then they can't be sent to other individuals attempting to trade them for other types of tokens.
The token would just need to check against the whitelist in its transfer function.
Are such restrictions meaningful though? One huge feature of these currencies/tokens is how easy it is to trade them; maybe your kids will trade their "healthy food dollar" for $0.75 of some unrestricted currency, hence "a dollar that can only be spent on healthy food" is actually "about $0.75, with an extra transaction step".