  Let C be an arbitrary simple-root cyclic code and let G be the subgroup of
Aut(C) (the automorphism group of C) generated by the multiplier, the cyclic
shift and the scalar multiplications. To the best of our knowledge, the
subgroup G is the largest subgroup of Aut(C). In this paper, an explicit
formula, in some cases an upper bound, for the number of orbits of G on C\{0}
is established. An explicit upper bound on the number of non-zero weights of C
is consequently derived and a necessary and sufficient condition for the code C
meeting the bound is exhibited. Many examples are presented to show that our
new upper bounds are tight and are strictly less than the upper bounds in [Chen
and Zhang, IEEE-TIT, 2023]. In addition, for two special classes of cyclic
codes, smaller upper bounds on the number of non-zero weights of such codes are
obtained by replacing G with larger subgroups of the automorphism groups of
these codes. As a byproduct, our main results suggest a new way to find
few-weight cyclic codes.
