Going through the group of units
 This implementation suffers from the defect that
  - elements of HhaveGas their parent
- but they display in terms of a generator of H
Here is a slightly convoluted way to work around this.
 Define G and H:
 sage: n = 7
sage: Zn = Zmod(n)
sage: G = Zn.unit_group()
sage: f = G.gen()
sage: H = G.subgroup([f^2])
 List the elements of H (this displays using a different f):
 sage: Hlist = list(H)
sage: Hlist
[1, f, f^2]
 List the elements of H expressed in G:
 sage: HlistG = list(prod((a^b for a, b in zip(H.gens(), h.list())), G.one()) for h in H)
sage: HlistG
[1, f^2, f^4]
 Get their values in Zn:
 sage: HlistZn = [h.value() for h in HlistG]
sage: HlistZn
[1, 2, 4]
 I opened a ticket to make this happen more naturally:
  Direct access to generating sets for subgroups
 The cyclic ring also has a method multiplicative_subgroups.
 That method lists generating tuples for its multiplicative subgroups:
 sage: n = 7
sage: Zn = Zmod(n)
sage: Sub = Zn.multiplicative_subgroups()
sage: Sub
((3,), (2,), (6,), ())
 Sadly they do not give a hold on the subgroups as such.
 sage: H = Sub[1]
sage: H
(2,)
sage: parent(H)
<class 'tuple'>
 Neither do the generators for these subgroups have these
subgroups as parents.
 Instead, they are simply elements of the initial cyclic ring.
 sage: h = H[0]
sage: parent(h)
Ring of integers modulo 7
 
Welcome to Ask Sage! Thank you for your question.
For those interested, there is a parallel discussion on that topic on sage-devel : https://groups.google.com/g/sage-deve...