We consider a coded caching system, where content is divided into multiple levels, based on varying degrees of popularity. We develop information-theoretic bounds for this setup, and show that a memory-sharing scheme is order optimal with respect to information-theoretic bounds.