title: Having problem with understanding tf.where
body: <p>I am porting tensorflow1 code to 2 and got a problem with understanding the behavior of tf.where.</p>
  <p>Assumed tf.where(condition, x, y) basically selects x or y based on the condition.</p>
  <pre><code>tf.where([True, False, False, True], [1,2,3,4], [100,200,300,400]) # this works! - [1, 200, 300, 4]
  tf.where([True, False, False, True], [[1,2],[2,3],[3,4],[4,5]], [[10,20],[20,30],[30,40],[40,50]]) # this raises an exception. I am expecting like [1,2], [20, 30], [30, 40], [4,5]
  </code></pre>
  <p>What should I do to make it work?</p>