Another choice is average-pooling, which simply aggregates a region into the average values of the activation observed in that region.
TensorFlow implements a large number of pooling layers and a complete list is available online. (https://www.tensorflow.org/api_guides/python/nn#Pooling) In short, all the pooling operations are nothing more than a summary operation on a given region.