Multicast security is one of the most important security services in wireless sensor networks (WSNs) since it enables a sink to multicast messages to sensors in a secure manner. While multicast authentication has widely been addressed in the literature, the problem of multicast encryption still remains open in WSNs. In this paper, we propose a multicast encryption scheme called global-partition, local-diffusion (GPLD) that focuses on scheme efficiency and supports various multicast group semantics. GPLD partitions sensors into a series of elementary groups using their location and class information and accordingly builds a location-class-aware symmetric key management framework. Furthermore, the scheme leverages the fact that sensors are both end receivers and routers, which effectively minimizes global (sink-to-sensor) group key distribution and rekeying traffic while supporting various multicast group semantics. The efficiency and security properties of GPLD are justified through both analysis and simulations.