title: @State variable doesn't change its value or re-render the view
body: <p>I'm trying to change a <code>@State</code> from its parent but nothing is changed in the view.
  I have a simple <code>CustomView</code> with an enum that control its content:</p>
  <pre><code>struct CustomView: View {
      enum ViewType: String {
          case first, second, third
      }
      
      @State var viewType: ViewType
      
      var body: some View {
          content
      }
      
      @ViewBuilder private var content: some View {
          switch viewType {
          case .first:
              Text(&quot;The first view&quot;)
          case .second:
              Text(&quot;The second view&quot;)
          case .third:
              Text(&quot;The last view&quot;)
          }
      }
  }
  </code></pre>
  <p>And a superview with a button that tries to change its <code>viewType</code> value.</p>
  <pre><code>struct ContentView: View {
      let customView = CustomView(viewType: .first)
      var body: some View {
          VStack(spacing: 40) {
              customView
              Button(&quot;Change&quot;) {
                  customView.viewType = .second
              }
          }
      }
  }
  </code></pre>
  <p>Maybe I shouldn't use <code>@State</code> but I had no success using <code>Binding</code> with enums.
  Any idea?</p>